home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1997 / MacHack 1997.toast / Other Stuff / Other Stuff ’97 / PowerOS Development / basic kernel source / bat.h next >
Encoding:
C/C++ Source or Header  |  1997-06-26  |  1.4 KB  |  66 lines  |  [TEXT/R*ch]

  1. /*
  2.     bat.h
  3.     bat structures header file for PowerOS
  4.     copyright 1996-1997 by Ben Martz
  5.     all rights reserved world wide
  6.  
  7.     ANY AND ALL MODIFICATIONS TO THIS SOURCE MUST CREDIT THE ORIGINAL
  8.     AUTHOR, BEN MARTZ (benmartz@ic.net), AND MUST BE GIVEN TO THE AUTHOR
  9.     FOR INTEGRATION INTO THE MAIN PowerOS SOURCE TREE. THANK YOU FOR YOUR
  10.     COOPERATION!
  11. */
  12.  
  13. /*
  14.     oops...forgot about the different layouts!
  15.     these are for 603/604
  16. */
  17. typedef struct {
  18.     unsigned long    bepi : 15;
  19.     unsigned long    rsvd1 : 4;
  20.     unsigned long    bl : 11;
  21.     unsigned long    vs : 1;
  22.     unsigned long    vp : 1;
  23. } BATU_60x;
  24.  
  25. typedef struct {
  26.     unsigned long    brpn : 15;
  27.     unsigned long    rsvd1 : 10;
  28.     unsigned long    wimg : 4;
  29.     unsigned long    rsvd2 : 1;
  30.     unsigned long    pp : 2;
  31. } BATL_60x;
  32.  
  33. typedef struct {
  34.     unsigned long    blpi : 15;
  35.     unsigned long    rsvd1 : 10;
  36.     unsigned long    wim : 3;
  37.     unsigned long    ks : 1;
  38.     unsigned long    ku : 1;
  39.     unsigned long    pp : 2;
  40. } BATU_601;
  41.  
  42. typedef struct {
  43.     unsigned long    pbn : 15;
  44.     unsigned long    rsvd1 : 10;
  45.     unsigned long    v : 1;
  46.     unsigned long    bsm : 6;
  47. } BATL_601;
  48.  
  49. #define    BAT_BL_128K    0
  50. #define    BAT_BL_256K    1
  51. #define    BAT_BL_512K    3
  52. #define    BAT_BL_1M    7
  53. #define    BAT_BL_2M    31
  54. #define    BAT_BL_4M    63
  55. #define    BAT_BL_8M    127
  56.     /* only the above are valid for the 601 */
  57. #define    BAT_BL_16M    255
  58. #define    BAT_BL_32M    511
  59. #define    BAT_BL_64M    1023
  60. #define    BAT_BL_128M    2047
  61. #define    BAT_BL_256M    4095
  62.  
  63. #define    BAT_WIMG_W    1    /* write through */
  64. #define    BAT_WIMG_I    2    /* caching inhibited */
  65. #define    BAT_WIMG_M    4    /* memory coherence */
  66.